home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / glass / glass.lha / GLASS / glassme / gme13 < prev    next >
Text File  |  1991-02-19  |  4KB  |  101 lines

  1.  
  2.  
  3. walk def list (>i, >LIST * walk def*walk def els ,#
  4.                      i+"["+show def+show def els +i+"]">):
  5.     walk def(>i+I+I,>walk def,show def>),->,
  6.     walk def els (>i,>walk def els ,show def els >);
  7. walk def list (>i,>LIST*empty,i+"[]">):.
  8.  
  9. walk def els (>i,>walk def * walk def els ,","+show def+show def els >):
  10.     walk def(>i+I+I,>walk def,show def>),->,
  11.     walk def els (>i,>walk def els ,show def els >);
  12. walk def els (>i,>empty,empty>):.
  13.  
  14. walk orig(>i,> TUPLE * file * line," ("+show file+", "+show line+" ) ">):
  15.     walk string (>i+I,>file,show file>),
  16.     walk inum (>i+I,>line,show line>).
  17.  
  18. walk partyp list (>i, >LIST * walk partyp*walk partyp els ,#
  19.                     i+"["+show partyp+show partyp els +i+"]">):
  20.     walk partyp(>i+I+I,>walk partyp,show partyp>),->,
  21.     walk partyp els (>i,>walk partyp els ,show partyp els >);
  22. walk partyp list (>i,>LIST*empty,i+"[]">):.
  23.  
  24. walk partyp els (>i,>walk partyp * walk partyp els ,#
  25.                ","+show partyp+show partyp els >):
  26.     walk partyp(>i+I+I,>walk partyp,show partyp>),->,
  27.     walk partyp els (>i,>walk partyp els ,show partyp els >);
  28. walk partyp els (>i,>empty,empty>):.
  29.  
  30. walk typ list (>i, >LIST * walk typ*walk typ els ,#
  31.                      i+"["+show typ+show typ els +i+"]">):
  32.     walk typ(>i+I+I,>walk typ,show typ>),->,
  33.     walk typ els (>i,>walk typ els ,show typ els >);
  34.  
  35. walk typ list (>i,>LIST*empty,i+"[]">):.
  36.  
  37. walk typ els (>i,>walk typ * walk typ els ,","+show typ+show typ els >):
  38.     walk typ(>i+I+I,>walk typ,show typ>),->,
  39.     walk typ els (>i,>walk typ els ,show typ els >);
  40. walk typ els (>i,>empty,empty>):.
  41.  
  42. walk formcon list (>i, >LIST * walk formcon*walk formcon els ,#
  43.                        i+"["+show formcon+show formcon els +i+"]">):
  44.     walk formcon(>i+I+I,>walk formcon,show formcon>),->,
  45.     walk formcon els (>i,>walk formcon els ,show formcon els >);
  46.  
  47. walk formcon list (>i,>LIST*empty,i+"[]">):.
  48.  
  49. walk formcon els (>i,>walk formcon * walk formcon els,#
  50.                        ","+show formcon+show formcon els >):
  51.     walk formcon(>i+I+I,>walk formcon,show formcon>),->,
  52.     walk formcon els (>i,>walk formcon els ,show formcon els >);
  53. walk formcon els (>i,>empty,empty>):.
  54.  
  55. walk val list (>i, >LIST * walk val*walk val els,#
  56.                      i+"["+show val+show val els +i+"]">):
  57.     walk val(>i+I+I,>walk val,show val>),->,
  58.     walk val els (>i,>walk val els ,show val els >);
  59. walk val list (>i,>LIST*empty,i+"[]">):.
  60.  
  61. walk val els (>i,>walk val * walk val els ,","+show val+show val els >):
  62.     walk val(>i+I+I,>walk val,show val>),->,
  63.     walk val els (>i,>walk val els ,show val els >);
  64. walk val els (>i,>empty,empty>):.
  65.  
  66. walk parval list (>i, >LIST * walk parval*walk parval els ,#
  67.                      i+"["+show parval+show parval els +i+"]">):
  68.     walk parval(>i+I+I,>walk parval,show parval>),->,
  69.     walk parval els (>i,>walk parval els ,show parval els >);
  70. walk parval list (>i,>LIST*empty,i+"[]">):.
  71.  
  72. walk parval els (>i,>walk parval * walk parval els ,#
  73.                     ","+show parval+show parval els >):
  74.     walk parval(>i+I+I,>walk parval,show parval>),->,
  75.     walk parval els (>i,>walk parval els ,show parval els >);
  76. walk parval els (>i,>empty,empty>):.
  77.  
  78.  
  79. walk i num (>i,>I NUM * i num," "+NUM>) : 
  80.        more i num (>inum , NUM>),->;
  81. walk i num (>i,>I NUM * nan,"NaN"+quote+nan+quote>) : set exit code. 
  82.  
  83. more i num (>"_"+x , "-"+x>): ->;
  84. more i num (>x , x>): .
  85.  
  86.  
  87. walk f num (>i,> F NUM *IS F NUM," "+IS F NUM>) : ->;
  88. walk f num (>i,> F NUM *nan," NaN"+quote +nan +quote>) : set exit code.
  89.  
  90. IS F NUM ::@ is f num.
  91.  
  92. F ::@ must include decimal point.
  93.  
  94. is f num ("-"+F>): "_", !01234567890.eE-+!*(F>), ->;
  95. is f num (F>):  !01234567890.eE-+!*(F>).
  96.  
  97. must include decimal point (f+".0">):
  98.  ^!.!* (f>), end of sentence, ->;
  99. must include decimal point (f>):
  100.   ^!! * (f>).
  101.